In the field of data processing systems there is often the necessity of making data, organized in one or more electronic archives or files, available to different computers, e.g. to the benefit of their respective users, which are not located physically close to one another.
Before the widespread diffusion of computer networks, such an operation typically involved the copying of the file(s) to be shared from the file system (e.g., from the local hard disk drive) of a given, first computer to a portable storage device, such as a floppy disk; transporting the floppy disk from the first computer to a second computer, not located physically close to the first computer and needing the data stored in the selected file(s); and copying the file(s) from the floppy disk into the file system (e.g., the local hard disk drive) of the second computer.
The development of computer networking has rendered the exchange of data between different computers much easier, less time-consuming, more reliable (portable storage supports like floppy disks frequently lose stored data) and also far more frequent.
One typical way of sharing data between different computers in a computer network is to define a common area in the file system of, e.g., one computer (for example, a user's Personal Computer—PC—or workstation, or a server computer in a computer network, such as a file server or an application server), and allow access to such common area to a number of different users (i.e., not only to the user of that computer). Files stored in that common area of the selected computer's file system can thus be accessed, through their PCs, by each one of the different users (at least, by those users that have been assigned the right to access that common area). This kind of solution is more typical in closed computer networks, such as Local Area Networks (LANs) and Wide Area Networks (WANs).
A solution like this has some drawbacks. For example, for security purposes, it is normally necessary to carefully define access rules, and manage access rights to the file system's common area by different categories of users. Such an access rule definition and access right management is burdensome, and normally requires the presence of a data processing system administrator.
Another solution that is nowadays commonly adopted for exchanging files between computer users located remotely from one another calls for exploiting electronic messaging services, particularly electronic mail (e-mail) services. Files can, in fact, be sent from a sender computer to one or more destination computers as attachments to an e-mail message. This kind of solution is quite common in open networks, such as in the Internet, but it can as well be adopted in close network environments, particularly of large dimensions.
Also, this solution has some drawbacks. E-mail services are inherently unreliable (the unreliability is intrinsic to the nature of the communication protocol used, the Transmission Control Protocol/Internet Protocol or TCP/IP). The delivery of e-mail messages is, in fact, not guaranteed, especially when, to get to the intended recipient, an e-mail message has to cross different e-mail service providers' domains. Moreover, e-mail service providers introduce often unpredictable restrictions on the size of the attachments to e-mail messages, and/or limits to the mailbox capacity, and filtering is more and more applied to some classes of e-mail attachments (such as to “zip” and “exe” files), which are automatically removed by the inbound mail server, for protection against virus attacks.
In the world of TCP/IP networks, and particularly in the Internet, another way of transferring files between networked computers relies on the File Transfer Protocol (FTP). The drawback in this case is that FTP server and FTP client programs are needed. Additionally, firewalls that are set up to protect local computer networks to open networks, such as the Internet, often block FTP file transfers. Moreover, unless an FTP server machine is provided for, FTP file transfer between two computers can be accomplished only if the sender and the destination computers are both online.
Specific software products (belonging to the class known as “business integration software” or “middleware”) have also been developed, that are specifically intended for tying together other software applications, so that they can work together. The goal of business integration software is to connect different computer systems, diverse geographical locations, and dissimilar information technology infrastructures. A rather popular example of middleware is represented by IBM's MQSeries.
These products are very sophisticated and efficient, but rather complex and may result in too heavy a burden if the required task is merely to exchange files between different computer users. In addition, they need to be deployed and installed on the computers of all the users that need to exchange information, and this poses problems of time and costs. Also, maintenance and updating of the installed software is time-consuming.
Other solutions known in the art include solutions referred to as collaborative type solutions, such as those provided by IBM's Lotus software (e.g., Lotus Workplace versions 1.2 or 2.0), enabling a group of users to put files in a “teamroom” (in addition to other collaborative features, including the ability to chat). These solutions are powerful, efficient, rich of features (and, thus, relatively expensive), but are intended for exchanging information among a group of users, more than for user to user exchange. Moreover, also in this case it is necessary to deploy and install the software package onto the computers of the participating users.